package com.briup.day09;

public class Homework {
    static {
        System.out.println("这是homework类中的静态代码块");
        // 如果是一个游戏启动程序，那么可以将游戏界面绘制的操作放入到静态代码块中
        System.out.println("游戏界面绘制完毕");
    }

    public static void test() {
        System.out.println("这是homework类中的静态方法");
    }
}

class HomeworkSub extends Homework {

    // @Override注解是用于校验某一个方法是否符合重写规则的
    // 从这里看到@Override注解报错就能发现，子类是无法重写父类的静态方法的
    // 如果子类编写了一个和父类结构一模一样的静态方法，也只是覆盖，而不是重写
//    @Override
    public static void test() {
        System.out.println("这是子类的静态方法test");
    }
}

class Test2 {
    public static void main(String[] args) throws ClassNotFoundException {
        // 将Homework类加载到JVM方法区中，获取到该类的字节码对象
        Class<?> aClass = Class.forName("com.briup.day09.Homework");
        Class<?> aClass2 = Class.forName("com.briup.day09.Homework");
        // 使用子类类名能够调用父类中的静态方法，所以子类是能够继承父类的静态方法
        HomeworkSub.test();
    }
}